# -*- coding: utf-8 -*-
import requests
import lxml.html
import pandas as pd
save_data=[]
#定义其中一页
for page in range(10):
    header={'User-Agent':'Chrome/92.0.4515.159 Safari/537.36'}
    url='https://book.douban.com/top250?start='+str(page*25)
    source=requests.get(url,headers=header)
    selector=lxml.html.fromstring(source.text)
    info=selector.xpath('//tr[@class="item"]')#定位到tr
    
    a=info[0].xpath('//td/div/a/@href')#获取图书链接
    b=info[0].xpath('//td/div/a/@title')#获取图书名称
    c=info[0].xpath('//td/a/img/@src')#获取图书图片
    d=info[0].xpath('//p[@class="pl"]/text()')#获取作家，出版社，价钱，日期
    e=info[0].xpath('//td/p[@class="quote"]/span/text()')#获取格言
    df=[]
    #处理数据
    for i,j,k,l,m in zip(a,b,c,d,e):
        data={}
        data['图书链接']=i
        data['图书名称']=j
        data['图书图片']=k
        data['图书格言']=m
        data['图书出版社']=l.split('/')[-3].strip()
        data['出版日期']=l.split('/')[-2].strip()
        data['图书价格']=l.split('/')[-1].strip()
        if len(l.split('/'))==4:
            data['图书作者']=l.split('/')[0]
        else:
            data['图书作者']='/'.join(l.split('/')[0:-3])
        df.append(data) 
        df1=pd.DataFrame(df)
    save_data.append(df1)   
    save_data1=pd.concat(save_data)
    save_data1.to_csv('爬取豆瓣部分图书榜单.csv')
    








